package com.gxp.system.mapper;

import com.gxp.system.domain.ZkAutoExpinfo;

import java.util.List;

/**
 * 自动化实验Mapper接口
 * 
 * @author zh
 * @date 2024-03-20
 */
public interface ZkAutoExpinfoMapper 
{
    /**
     * 查询自动化实验
     * 
     * @param autoexpId 自动化实验主键
     * @return 自动化实验
     */
    public ZkAutoExpinfo selectZkAutoExpinfoByAutoexpId(Long autoexpId);

    /**
     * 查询自动化实验列表
     * 
     * @param zkAutoExpinfo 自动化实验
     * @return 自动化实验集合
     */
    public List<ZkAutoExpinfo> selectZkAutoExpinfoList(ZkAutoExpinfo zkAutoExpinfo);

    /**
     * 新增自动化实验
     * 
     * @param zkAutoExpinfo 自动化实验
     * @return 结果
     */
    public int insertZkAutoExpinfo(ZkAutoExpinfo zkAutoExpinfo);

    /**
     * 修改自动化实验
     * 
     * @param zkAutoExpinfo 自动化实验
     * @return 结果
     */
    public int updateZkAutoExpinfo(ZkAutoExpinfo zkAutoExpinfo);

    /**
     * 删除自动化实验
     * 
     * @param autoexpId 自动化实验主键
     * @return 结果
     */
    public int deleteZkAutoExpinfoByAutoexpId(Long autoexpId);

    /**
     * 批量删除自动化实验
     * 
     * @param autoexpIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZkAutoExpinfoByAutoexpIds(String[] autoexpIds);

    /**
     * 通过仪器查找自动化实验数据
     * @param instId
     * @return
     */
    List<ZkAutoExpinfo> selectZkAutoExpinfoByInstId(Long instId);

    /**
     * 批量添加自动化实验数据
     */
    int batchAutoExpinfos(List<ZkAutoExpinfo> zkAutoExpinfos);

    /**
     * 根据hostId移除自动化实验数据
     * @param hostid
     */
    int deleteByInstrument(String hostid);

    /**
     * 查询所有
     */
    List<ZkAutoExpinfo> selectAll();

    /**
     * 根据仪器查询
     */
    List<ZkAutoExpinfo> selectZkAutoExpinfoByInstrument(String hostid);

    /**
     * 根据expcode批量删除
     */
    int deleteByExpcodes(String[] expcodes);

    /**
     * 根据expcode更新数据
     */
    int updateZkAutoExpinfoByExpcode(ZkAutoExpinfo updateExpinfo);
}
